/* ===========================================================================
 *
 *       Filename:  inputmethod.h
 *
 *    Description:  inputmethod, abstract (qt)
 *
 * - Mode: 644
 * - NOTE. NOT use "dos"
 * - Updated: TODO
 *
 *        Version:  1.0.0
 *        Created:  2015-04-22
 *       Revision:  1.0.0
 *       Compiler:  moc/g++
 *
 *         Author:  Yui Wong, email: yuiwong@126.com
 *   Organization:  ""
 *        License:  LGPLv3
 *
 *  This file is part of portable-inputmethod.yw.
 *
 *  portable-inputmethod.yw
 *  is free software: you can redistribute it
 *  and/or modify it under the terms of the GNU General Public License as
 *  published by the Free Software Foundation, either version 3 of the
 *  License, or (at your option) any later version.
 *
 *  portable-inputmethod.yw
 *  is distributed in the hope that it will be
 *  useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along
 *  with portable-inputmethod.yw.
 *  If not, see <http://www.gnu.org/licenses/>.
 *
 * ===========================================================================
 */


#if !defined(_INPUTMETHOD_H_)
#define _INPUTMETHOD_H_ (1)


#if !defined(ID_QT_VERSION)
#	error "ID_QT_VERSION NOT defined"
#endif

#if (ID_QT_VERSION < 0x050000)
#	include <QtGui/QWidget>
#else
#	include <QtWidgets/QWidget>
#endif

#include <inputmethod_manager.h>


class inputmethod: public QWidget {
	Q_OBJECT

friend class inputmethod_manager;

protected: inputmethod(QWidget * parent = 0);
/* PROTECTED FOR INHERIT ONLY */
public: virtual ~inputmethod(void) = 0;
public: virtual int reinitialize_core(QWidget * focus,
   const char * mf = 0) = 0;
}; /* inputmethod */


#endif /* !defined(_INPUTMETHOD_H_) */
/*
 * end of file inputmethod.h
 */
